#include<iostream>
#include<sys/stat.h>
#include<fcntl.h>
#include<sys/types.h>
#include<unistd.h>
#include<string.h>
#include<sys/wait.h>
using namespace std;

int main()
{
    int fd1=open("log.txt",O_RDONLY|O_CREAT,0666);  
    pid_t id=fork();
    if(id==0)
    {
        //当前是子进程
        int fd2=open("log.txt",O_WRONLY);
        const char*str="hello world ";
        int cnt=0;
        while(1)
        {
            write(fd2,str,strlen(str));
            cnt++;
            char ch=cnt+'0';
            write(fd2,&ch,1);
            sleep(1);
            if(cnt==10)
                break;
        }
        close(fd2);
        exit(0);
    }
    else
    {
        //当前是父进程
        char buffer[1024];
        int sz= read(fd1,buffer,sizeof(buffer)-1);
        buffer[sz]='\0';
        printf("%s\n",buffer);
    }
    close(fd1);
    wait(NULL);
    return 0;
}

// int func()
// {
//     int sum=0;
//     for(int i=1;i<=36;i++)
//     {
//         sum+=i;
//     }
//     return sum;
// }

// int main()
// {
//     cout<<"hello world"<<endl;
//     int ret=func();
//     cout<<ret<<endl;
//     return 0;
// }


